﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CRMBussines
{
    public partial class CrmBussines : IDisposable
    {
        public List<Empleado> ObtenEmpleados()
        {
            List<Empleado> res = new List<Empleado>();

            db = new CRMModelControladorDataContext(_cadenaConexion);
            var emps = (from emp in db.Empleados select emp);
            res = emps.ToList<Empleado>();

            return res;
        }

        public Empleado ObtenEmpleado(int id)
        {
            Empleado de = new Empleado();

            db = new CRMModelControladorDataContext(_cadenaConexion);
            de = db.Empleados.Single(c => c.EmpleadosId == id);

            return de;
        }

        public void GuardaEmpleados(Empleado empleado)
        {
            db = new CRMModelControladorDataContext(_cadenaConexion);
            db.Empleados.InsertOnSubmit(empleado);
            db.SubmitChanges();
        }

        public void ActualizaEmpleados(Empleado empleado)
        {
            Empleado em = new Empleado();
            db = new CRMModelControladorDataContext(_cadenaConexion);
            em = db.Empleados.Single(c => c.EmpleadosId == empleado.EmpleadosId);
            em.CodigoEmpleado = empleado.CodigoEmpleado;
            em.Nombre = empleado.Nombre;
            em.Paterno = empleado.Paterno;
            em.Materno = empleado.Materno;
            em.TelefonoOficina = empleado.TelefonoOficina;
            em.Extencion = empleado.Extencion;
            em.Celular = empleado.Celular;
            em.Email = empleado.Email;
            em.Comentarios = empleado.Comentarios;
            em.PuestosId = empleado.PuestosId;
            em.DepartamentosId = empleado.DepartamentosId;

            db.SubmitChanges();
        }

        public void EliminaEmpleados(int id)
        {            
            Empleado em = new Empleado();

            db = new CRMModelControladorDataContext(_cadenaConexion);
            em = db.Empleados.Single(c => c.EmpleadosId == id);
            db.Empleados.DeleteOnSubmit(em);
            db.SubmitChanges();
        }
    }
}
